==== PROPOSTAS PARA O TRABALHO FINAL ====

=== PROPOSTA A: Cardpio aleatrio condicionado s necessidades do usurio ===

**Contextualizao**

A biodisponibilidade de um nutriente  a proporo em que ele  absorvido pela alimentao e usado para o funcionamento do organismo (Agget, 2010). No entanto, os nutrientes interagem uns com os outros, o que forma uma rede complexa de relaes que pode mudar a biodisponibilidade de um nutriente e resultar em uma absoro reduzida ou at mesmo na inibio da absoro, ou pode ocorrer a maximizao da absoro do nutriente (HKH van Het, 2010). 

Nos tempos atuais, as pessoas se mostram interessadas e preocupadas com sua dieta alimentar, com intuito de evitar problemas de sade associados a uma dieta desequilibrada, perda, ganho ou manuteno do peso e tambm para auxilio na definio da forma fsica atrelado  atividade fsica. Como cada organismo possui suas particularidades, a quantidade de caloria que uma pessoa precisa diariamente varia de acordo com a idade, sexo, altura, peso e nvel de sedentarismo, dessa forma varia tambm a quantidade de caloria necessria para manter, ganhar ou perder peso (USDA, 2016).

Sabendo disso, e tendo como premissa que em geral as pessoas preferem variar os itens alimentares de uma refeio para a outra, a criao de uma ferramenta que permite o usurio criar um cardpio adequado para a maximizao de um determinado nutriente, considerando uma quantidade x de quilocaloria que no deve ser ultrapassada por refeio e tendo maior diversidade de itens alimentares,  algo que pode ser muito prtico e atrativo. Por tanto, a funo proposta toma como parmetros um nutriente desejado; um outro nutriente que aumenta a biodisponibilidade do nutriente desejado; os tipos de alimentos a serem includos no cardpio; um valor referncia de kcal por refeio que no deve ser ultrapassado; nmero de refeies e os dados de onde todas as informaes so tiradas. 

**Planejamento da funo** 

**Entrada:** Nutricard (''Nutri'', ''Nutripar'',''alimento1'',''alimento2'',''alimento3'',''alimento4'', ''alimento5'',''Size1'',''Size2'',''Size3'',''Size4'',''Size5'',''Kcal'',''N'',''Dados'')

''Nutri''= vetor com nutriente desejado (classe: numeric, ''Nutri'' > 0).

''Nutripar''= vetor com nutriente que forma par com o nutriente desejado e aumenta sua biodisponibilidade (class:numeric, ''Nutripar''> 0).

''alimento1''= dataframe de alimentos que pertencem a um grupo especfico (obtidos atravs dos ''dados'') contendo ''Nutri'', ''Nutripar'' e as quilocalorias de cada alimento. 

''alimento2''= dataframe de alimentos que pertencem a um grupo especfico (obtidos atravs dos ''dados") contendo ''Nutri'', ''Nutripar'' e as quilocalorias de cada alimento.

''alimento3''= dataframe de alimentos que pertencem a um grupo especfico (obtidos atravs dos ''dados'') contendo ''Nutri'', ''Nutripar'' e as quilocalorias de cada alimento.

''alimento4''= dataframe de alimentos que pertencem a um grupo especfico (obtidos atravs dos ''dados'') contendo ''Nutri'', ''Nutripar'' e as quilocalorias de cada alimento.

''alimento5''= dataframe de alimentos que pertencem a um grupo especfico (obtidos atravs dos ''dados'') contendo ''Nutri'', ''Nutripar'' e as quilocalorias de cada alimento.

''Size1''= Numero de itens para os alimentos em ''alimento1''.

''Size2''= Numero de itens para os alimentos em ''alimento2''.

''Size3''= Numero de itens para os alimentos em ''alimento3''.

''Size4''= Numero de itens para os alimentos em ''alimento4''.

''Size5''= Numero de itens para os alimentos em ''alimento5''.

''Kcal''= Valor referncia de caloria que no deve ser ultrapassado por refeio.

''N''= numero de refeies.

''Dados''= dataframe com os dados a serem utilizados. 

**Verificando os parmetros:** 

''Nutri''  um vetor numrico e > 0, se no escreve: "Nutri precisa ser da classe numeric e > 0 ".

''Nutripar''  um vetor numrico e > 0 , se no escreve: "Nutripar precisa ser da classe numeric e > 0 ".

''alimento1''  um dataframe, se no escreve: "alimento1 precisa ser um dataframe".

''alimento2''  um dataframe, se no escreve: "alimento2 precisa ser um dataframe".

''alimento3''  um dataframe, se no escreve: "alimento3 precisa ser um dataframe".

''alimento4''  um dataframe, se no escreve: "alimento4 precisa ser um dataframe".

''alimento5''  um dataframe, se no escreve: "alimento5 precisa ser um dataframe".

''Size1''  um valor inteiro e > 0, se no escreve: "Size1 precisa ser valor inteiro e > 0".

''Size2''  um valor inteiro e > 0, se no escreve: "Size2 precisa ser valor inteiro e > 0". 

''Size3''  um valor inteiro e > 0, se no escreve: "Size3 precisa ser valor inteiro e > 0". 

''Size4''  um valor inteiro e > 0, se no escreve: "Size4 precisa ser valor inteiro e > 0". 

''Size5''  um valor inteiro e > 0, se no escreve: "Size5 precisa ser valor inteiro e > 0".

''Kcal''  um vetor numrico e > 0, se no escreve: "Kcal precisa ser da classe numeric e > 0".

''N''  um numero inteiro e > 0, se no escreve: "N precisa ser numero inteiro e > 0".

''Dados''  um objeto dataframe, se no escreve: "Dados precisa ser um dataframe".

**Pseudo-cdigo:**

1. Cria objeto ''medianutri'' com a mdia geral de ''Nutri''
2. Cria objeto ''medianutripar'' com a mdia geral de ''Nutripar''
3. Cria objeto ''richnutri'' com itens em ''Alimento1'',''Alimento2'',''Alimento3'',''Aliment4'',''Alimento5'' que contenham valores de ''Nutri'' e ''Nutripar'' acima de ''medianutri'' e ''medianutripar'', respectivamente.
4. Entra em ciclo, com numero de ciclos= ''N''.
4.1. A cada ciclo  amostrado aleatoriamente itens de ''Alimento1'',''Alimento2'',''Alimento3'',''Alimento4'' e ''Alimento5'' (cada um separadamente).
4.2. A quantidade de amostras escolhidas de cada tipo de alimento  determinada por ''Size1'', ''Size2'',''Size3'',''Size4'' e ''Size5''. 
4.3. A kcal por ciclo deve ser <= ''Kcal'', e ''Nutri e ''Nutripar'' devem ser maiores que ''medianutri'' e ''medianutripar'' a cada ciclo.
5. Criar lista ''cardprep''contendo: cada refeio junto com seus respectivos alimentos + o ''Nutritotal'' (soma de ''Nutri'' de cada alimento da refeio) + o ''Nutripartotal''(soma de ''Nutripar'' de cada alimento da refeio) + a ''Kcaltotal'' (soma da ''kcal'' dos alimentos da refeio).

**Sada:** 

Cardpio de refeies contendo o nome dos itens alimentares e o tipo de alimento a qual pertencem mais as calorias, valor do nutriente desejado e valor do nutriente par do nutriente desejado obtidos em cada refeio.


=== PROPOSTA B: Fornecendo indcios de espcies com maior e menor risco de extino ===

**Contextualizao**

Para a conservao da biodiversidade, se deve priorizar algumas espcies em relao a outras, para maximizar o esforo empregado, tendo maiores benefcios com menor custo. Para isso, uma das formas de decidir quais espcies possuem maior risco de extino  atravs do conhecimento da distribuio geogrfica das espcies, que pode ser descrito pela extenso de ocorrncia e pela rea de ocupao (Gaston & Fuller, 2009).

A extenso de ocorrncia  descrita como a rea contida dentro do menor limite imaginrio (representado por uma linha) que engloba todos os pontos em que a espcie est presente, por outro lado, a rea de ocupao considera a presena e ausncia das espcies dentro do limite da extenso de ocorrncia da espcie (IUCN, 2001). 

Assim, para ter uma base fundamentada para poder avaliar quais espcies merecem maior ateno e esforo para conservao, alm de saber a distribuio geogrfica das espcies,  tambm imprescindvel saber quais espcies so dominantes e quais so raras no sistema de estudo, e se a abundancia das espcies muda de acordo com o tipo de ambiente analisado ou at mesmo com o tempo. Dessa forma, a funo aqui proposta determinaria em quantos locais do sistema de estudo cada espcie esta presente, com isso pode-se descobrir quais espcies possuem grande e pequena rea de ocupao, resultado este que posse ser complementado com a comparao entre a abundancia de cada espcie com a abundancia mdia (soma da abundancia de todas as espcies dividido pelo nmero de espcies presentes) do ponto ou regio analisada, fornecendo um bom indicativo de dominncia e raridade das espcies. Ao final, a funo geraria uma lista contendo as espcies que tem abundancia acima e abaixo da abundancia mdia de cada ponto de acordo com o habitat (caso haja mais de um tipo de habitat) e replica (caso o usurio queira identificar mudana temporais na abundancia das espcies), e um dataframe contendo o total de pontos do sistema de estudo e o total de pontos em que cada espcie ocorre (para obter indcios da rea de ocupao). 


**Planejamento da funo**

**Entrada:** riscoextSP (''area'',''pon'',''distr'',''abun'',''hab'',''rep'',''dados'')

''area''= Vetor com as areas que englobam os pontos.

''pon'' = Vetor com os pontos.

''distr'' = TRUE or FALSE (verificar ou no indcios sobre a rea de ocupao das espcies). 

''abun'' = TRUE or FALSE (verificar ou no a abundncia de cada espcie em relao a abundancia mdia do ponto ou rea (soma das abundancias das espcies dividido pela riqueza de espcies). 

''hab'' = Vetor com os tipos de habitat.

''rep'' = TRUE or FALSE (analisar os dados temporalmente devido s rplicas por ponto ou desconsiderar a escala temporal, respectivamente). 

''dados'' = objeto dataframe (linha so observaes e colunas so espcies). 

**Verificando os parmetros:**

''distr''  um argumento lgico TRUE or FALSE, se no escreve: "distr precisa ser TRUE or FALSE".

''abun''  um argumento lgico TRUE or FALSE, se no escreve: "abun precisa ser TRUE or FALSE".

''hab''  um vetor da classe character, se no escreve: "hab precisa ser da classe character".

''rep''  um argumento lgico TRUE or FALSE, se no escreve: "rep precisa ser TRUE or FALSE".

''dados''  um dataframe com linhas como observaes e colunas como espcies, se no escreve: "dados precisa ser dataframe com observaes nas linhas e espcies nas colunas". 

**Pseudo-cdigo:** 

1. If ''rep''=FALSE soma-se a abundancia total (todas as rplicas) de cada espcie e guarda no objeto ''dadossemrep'' de classe dataframe ELSE utiliza-se ''dados'' diretamente.
2. Criar objeto ''abuntotal''contendo a abundancia total por ponto.
2.1. Criar objeto ''zeroum''que  uma funo que transforma dados de abundancia em presena/ausncia.
2.2. Aplicar o objeto ''zeroum'' em ''dados'' se ''rep''= TRUE ou no objeto ''dadossemrep'' se ''rep''= FALSE.
2.3. Criar objeto ''riq'' contendo a riqueza de espcies para cada ponto.
2.4. Criar objeto ''abunmedia'' contendo a abundancia mdia de cada ponto.
3. Criar objeto ''spdomi'' com nomes das espcies que possuem abundancia > ''abunmedia'' em cada ponto.
3.1. Criar objeto ''sprara'' com nomes das espcies que possuem abundancia < ''abunmedia'' em cada ponto.
4. Criar data frame ''areaocup''com a relao entre o total de ocorrncias de cada espcie e o total de pontos presentes no sistema de estudo.
5. Criar lista ''spINFO'' contendo: ''spdomi'', ''sprara'' e ''areaocup''. 

**Sada:** 

Lista contendo 3 objetos: as espcies por ponto que possuem abundancia acima da abundancia mdia do ponto, as espcies por ponto que possuem abundancia abaixo da abundancia mdia do ponto e um dataframe com o numero total de pontos no sistema de estudo e o nmero total de ocorrncias de cada espcie. 

**Referncias**

Aggett PJ. (2010). Population reference intakes and micronutrient bioavailability: a European perspective. American Journal of Clinical Nutrition 91(suppl):1433S-1437S. 

Gaston, K. J., FULLER, R. A. (2009). The sizes of species geographic ranges. Journal of Applied Ecology, v.46, doi: 10.1111/j.1365-2664.2008.01596.x. 

IUCN. (2001). IUCN Red List categories and criteria: Version 3.1. Prepared by IUCN Species Survival Commission. World Conservation Union, Gland, Switzerland and Cambridge, United Kingdom. Ii + 30 pp.

USDA. (2016). Dietary Guidelines For Americans 2015-2020: 8th Edition. 

van Het Hof KH, K. H., West, C. E., Weststrate, J. A., Josepth Hautvast, G.A.J. (2000). Dietary factors that affect the bioavailability of carotenoids. Journal of Nutrition 130(3):503-506.

